﻿using System;

namespace UnityEngine.PostProcessing
{
	// Token: 0x020000FB RID: 251
	[Serializable]
	public class DepthOfFieldModel : PostProcessingModel
	{
		// Token: 0x170000D7 RID: 215
		// (get) Token: 0x060004E8 RID: 1256 RVA: 0x00027A81 File Offset: 0x00025C81
		// (set) Token: 0x060004E9 RID: 1257 RVA: 0x00027A89 File Offset: 0x00025C89
		public DepthOfFieldModel.Settings settings
		{
			get
			{
				return this.m_Settings;
			}
			set
			{
				this.m_Settings = value;
			}
		}

		// Token: 0x060004EA RID: 1258 RVA: 0x00027A92 File Offset: 0x00025C92
		public override void Reset()
		{
			this.m_Settings = DepthOfFieldModel.Settings.defaultSettings;
		}

		// Token: 0x040006E2 RID: 1762
		[SerializeField]
		private DepthOfFieldModel.Settings m_Settings = DepthOfFieldModel.Settings.defaultSettings;

		// Token: 0x020000FC RID: 252
		public enum KernelSize
		{
			// Token: 0x040006E4 RID: 1764
			Small,
			// Token: 0x040006E5 RID: 1765
			Medium,
			// Token: 0x040006E6 RID: 1766
			Large,
			// Token: 0x040006E7 RID: 1767
			VeryLarge
		}

		// Token: 0x020000FD RID: 253
		[Serializable]
		public struct Settings
		{
			// Token: 0x170000D8 RID: 216
			// (get) Token: 0x060004EB RID: 1259 RVA: 0x00027AA0 File Offset: 0x00025CA0
			public static DepthOfFieldModel.Settings defaultSettings
			{
				get
				{
					return new DepthOfFieldModel.Settings
					{
						focusDistance = 10f,
						aperture = 5.6f,
						focalLength = 50f,
						useCameraFov = false,
						kernelSize = DepthOfFieldModel.KernelSize.Medium
					};
				}
			}

			// Token: 0x040006E8 RID: 1768
			[Min(0.1f)]
			[Tooltip("Distance to the point of focus.")]
			public float focusDistance;

			// Token: 0x040006E9 RID: 1769
			[Tooltip("Ratio of aperture (known as f-stop or f-number). The smaller the value is, the shallower the depth of field is.")]
			[Range(0.05f, 32f)]
			public float aperture;

			// Token: 0x040006EA RID: 1770
			[Tooltip("Distance between the lens and the film. The larger the value is, the shallower the depth of field is.")]
			[Range(1f, 300f)]
			public float focalLength;

			// Token: 0x040006EB RID: 1771
			[Tooltip("Calculate the focal length automatically from the field-of-view value set on the camera. Using this setting isn't recommended.")]
			public bool useCameraFov;

			// Token: 0x040006EC RID: 1772
			[Tooltip("Convolution kernel size of the bokeh filter, which determines the maximum radius of bokeh. It also affects the performance (the larger the kernel is, the longer the GPU time is required).")]
			public DepthOfFieldModel.KernelSize kernelSize;
		}
	}
}
